﻿using System.Windows.Forms;

namespace Borg
{
    [SlotDefinition("Borg.MenuStrip")]
    public interface IMenuStrip
    {
        event MenuItemEventHandler AfterHandleClick;
        event MenuItemEventHandler BeforeHandleClick;

        void RemoveActionBehavior(SlotInfo si);
        void RemoveCreateBehavior(SlotInfo si);
        void RemoveOpenBehavior(SlotInfo si);
        void RemovePlugBehavior(SlotInfo si);
        void RemoveRegisterBehavior(SlotInfo si);
        void RemoveSelectBehavior(SlotInfo si);

        void SetActionBehavior(SlotInfo si, PlugTypeHandler itemHandler);
        void SetCreateBehavior(SlotInfo si, PlugTypeHandler itemHandler);
        void SetOpenBehavior(SlotInfo si, string itemPath);
        void SetPlugBehavior(SlotInfo si, PlugHandler itemHandler);
        void SetRegisterBehavior(SlotInfo si, PlugTypeHandler itemHandler);
        void SetSelectBehavior(SlotInfo si, PlugHandler itemHandler);

        MenuStrip Control { get; }
    }
}

